package dict

// Consumer 函数
type Consumer func(key string, val interface{}) bool

//Dict 定义redis的基本接口操作类型
type Dict interface {
	Get(key string) (val interface{}, exists bool)        // Get 获取key的方法
	Len() int                                             // Len 计算redis存储K-V的数量
	Put(key string, val interface{}) (result int)         // 存储的操作
	PutIfAbsent(key string, val interface{}) (result int) // 不存在才存储
	PutIfExists(key string, val interface{}) (result int) // 存在才存储
	Remove(key string) (result int)                       // 删除k - v
	ForEach(consumer Consumer)                            // 遍历操作
	Keys() []string                                       // 返回所有的key列表
	RandomKeys(limit int) []string                        // 返回指定数量的key的列表
	RandomDistinctKeys(limit int) []string                // 返回指定数量的不重复的key列表
	Clear()                                               // 清空数据库
}
